PostgreSQL date

您所在的位置:网站首页 oracle 日期字符串截取日期 PostgreSQL date

PostgreSQL date

2024-04-04 06:51| 来源: 网络整理| 查看: 265

摘要:Oracle有大量的日期函数可供使用,trunc, new_time,months_between,next_day,last_day,add_months,round等函数.当然PostgreSQl 也有大量的时间函数,详情请移步postgresql时间日期函数总结. 所以在此只说明Postgresql 中的TRUNC取断函数.

  1.首先介绍一下Oracle的trunc函数:

select trunc(sysdate) from dual //返回当前日期 sysdate: 系统时间 select trunc(sysdate,'year') from dual; //返回本年的第一天 select trunc(sysdate,'month') from dual; //返回本月的第一天 select trunc(sysdate,'q') from dual; //返回本季度的第一天 select to_char(trunc(sysdate),'yyyy-mm-dd hh24:mi:ss') from dual; //获取当天的零时零分零秒 select trunc(sysdate,'mi') from dual; //获取当前分

2. 接下来 介绍 Postgresql 的trunc函数.

  截断数字类型函数trunc为数字截断函数.移步postgresql: trunc函数.

  截断日期类型函数date_trunc(text,time/timestamp/timestamptz);

3.date_trunc() 函数.

select date_trunc('month',now()) +interval '12 h'; //每月1号 12点 select date_trunc('month',now()) + interval '15 d 9 h 30 min'; //每月15号9点半 select date_trunc('day',now()) + interval '9 h'; //每天9点 select date_trunc('day',now()) + interval '7 d'; //每周的今天 select date_trunc('weak',now()) + interval '1d 1minute'; //每周的周二第一分钟 select date_trunc('h',now()) + interval '30 minute'; //每小时 select date_trunc('minute',now()) + interval '30 second'; //每分钟 select date_trunc('minute',now()) + interval '30 minute 30 second'; //每30分钟 select date_trunc('quarter',now()) + interval '15 d 15 h 15 minute 30 second'; //本季度的第15天,15小时 15分 30秒 select date_trunc('quarter',now() ) - interval '1 h'; //每个季度最后一天的晚上11点 select date_trunc('quarter',now() + interval '3 month') - interval '1 h'; //每个季度的最后一天的晚上的11点(从下个季度开始算起).

  补充:

me=# select date_trunc('day',date '2018-05-15 09:00:00+08') + interval '9 h'; ?column? ------------------------ 2018-05-15 09:00:00+08 (1 行记录) me=# select date_trunc('day',date '2018-05-15 14:09:04.127444+08') + interval '9 h'; ?column? ------------------------ 2018-05-15 09:00:00+08 (1 行记录) me=# select date_trunc('day',date '2018-05-14 14:09:04.127444+08') + interval '9 h'; ?column? ------------------------ 2018-05-14 09:00:00+08 (1 行记录) me=# select date_trunc('day',time '2018-05-14 14:09:04.127444+08') + interval '9 h'; ?column? ---------- 09:00:00 (1 行记录) me=# select date_trunc('day',timestamp '2018-05-14 14:09:04.127444+08') + interval '9 h'; ?column? --------------------- 2018-05-14 09:00:00 (1 行记录) me=# select date_trunc('day',timestamptz '2018-05-14 14:09:04.127444+08') + interval '9 h'; ?column? ------------------------ 2018-05-14 09:00:00+08 (1 行记录) me=# select date_trunc('day',timestamptz '2018-05-14 14:09:04.127444+08'+ interval '9 h'); date_trunc ------------------------ 2018-05-14 00:00:00+08 (1 行记录)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3